package com.example.designpatterns.strategy.payment;

/**
 * 微信支付策略
 */
public class WeChatPayStrategy implements PaymentStrategy {
    private String id;
    private String token;
    
    /**
     * 创建微信支付策略
     * @param id 微信ID
     * @param token 支付令牌
     */
    public WeChatPayStrategy(String id, String token) {
        this.id = id;
        this.token = token;
    }
    
    @Override
    public boolean pay(double amount) {
        System.out.println("使用微信支付: ¥" + amount);
        System.out.println("微信ID: " + maskId());
        // 实际应用中这里会调用微信支付API
        return true;
    }
    
    @Override
    public String getName() {
        return "微信支付";
    }
    
    /**
     * 对微信ID进行掩码处理
     * @return 掩码后的ID
     */
    private String maskId() {
        if (id == null || id.length() < 4) {
            return "wx****";
        }
        return "wx" + id.substring(0, 2) + "****" + id.substring(id.length() - 2);
    }
} 